1. Field
The present disclosure relates generally to communication systems, and more particularly, to schedulers for allocating system resources to data packets in communication networks.
2. Background
Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, and broadcasts. Typical wireless communication systems may employ multiple-access technologies capable of supporting communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power). Some examples of such multiple-access technologies include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single-carrier frequency divisional multiple access (SC-FDMA) systems, and time division synchronous code division multiple access (TD-SCDMA) systems.
These multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different wireless devices to communicate on a municipal, national, regional, and even global level. An example of a telecommunication standard is Universal Mobile Telecommunications System (UMTS).
The original UMTS system was designed mainly to transport delay-sensitive voice traffic over dedicated uplink and downlink channels. That is, voice calls are circuit switched, and each call is assigned dedicated traffic and control channels to handle the delay-sensitive voice traffic. Because system resources are statically allocated to users in calls, MAC layer scheduling algorithms for dynamic code and power assignment were not necessary in these systems.
Following the standardization of High Speed Packet Access (HSPA) Release 6 and Release 7, operators have had the capability to transport voice call traffic over packet switched HS-channels. These schemes are classified as Voice-over-IP (VoIP). Migrating call traffic to VoIP is of interest to operators because it can better streamline system resource management and also open possibilities for increasing voice call capacity within the system. However, to achieve these benefits, more sophisticated traffic scheduling algorithms are desired to ensure that users are scheduled and reliably served over HSPA's modified PHY and MAC layers.
In a VoIP system, there exists an end-to-end latency. This end-to-end latency includes delays during processing at the handset, upper-layer delays during processing at the base station, and other delays related to the Internet, or on the uplink, etc. The instant disclosure generally relates to latency on the downlink, that is, the time required for packets to get from the base station to the handset. The maximum latency requirement is generally related to a desired level of quality. For example, in a voice call, an end-to-end latency of greater than about 250 ms would result in unacceptable quality. For latency on the downlink, one may assume that a maximum latency of 100 ms will result in acceptable call quality for VoIP. Downlink latency generally includes the scheduling of vocoder packets and over the air transmission of those packets.
At a high-level, VoIP scheduling can be viewed as a queuing system, where each user in the system has a queue that is filled with data packets (at some arrival rate) to be served and where the scheduler at the MAC-hs level has a limited number of servers to process those waiting users. Here, specific reference is made to the MAC protocol defined in 3GPP TS 25.321, “MAC Protocol Specification,” however, other MAC-layer protocols may be utilized.
At each scheduling instance (e.g., every 2 ms transmission time interval (TTI) in HSDPA), the MAC-hs scheduler determines which users' packets to schedule and how to transport those packets. Prior implementations of downlink VoIP schedulers have experimented with different metrics for determining users' scheduling priority and with different power/code allocation strategies. The general procedure for VoIP scheduling has been to take the following three steps at each scheduling instance:
1. Among users with traffic to be transmitted (i.e. non-empty queues), calculate priority metrics based on some weighting of the user's channel conditions, queue length, etc.
2. Rank the users according to their respective priority metric.
3. Allocate system resources (e.g. OVSF codes and Ec/Ior power for the HS-DSCH) according to priority rank until there are no more users' packets to schedule or no remaining system resources.
One metric of interest for VoIP scheduling performance is the system capacity. System capacity relates to the maximum number of callers supportable in a system, given the latency and quality-of-service criteria of voice traffic. A widely accepted definition of system capacity is the maximum number of users a system can service when, on average, no more than 5% of the users in each cell fail certain specified call quality criteria. In a VoIP system, these call quality criteria may include a requirement for less than 100 ms latency for each VoIP call packet (i.e., block). When a system reaches its VoIP capacity, this generally means that the scheduler has run out of OVSF codes, Ec/Ior power, HS-SCCH codes, or some combination thereof, and thus can no longer maintain the systemwide VoIP call quality criteria.
When a wireless VoIP user enters an area with poor signal conditions, their packet queue at the base station frequently accumulates a large backlog because their queue cannot clear quickly enough. This creates a bottleneck for VoIP capacity, caused by users failing to meet their latency requirements because of backlogged packets timing out in their queues. Many conventional scheduling algorithms exacerbate the situation by inefficiently using the system's limited scheduling resources. For these and other reasons, there is a need in the art for an improved scheduling system.